package geppetto.phraseHMM.phraseExtraction.extractedphrase;

import java.util.HashMap;
import java.util.Map;

import geppetto.reordering.graph.ReorderingGraph;

public class SentenceInfo {
	int sentenceNumber;
	int[] foreingSentence;
	int[] sourceSentence;
	ExtractedPhrasePairTable extractedPhrasePairTable;
	protected Map<String, Object> customInfo = new HashMap<String, Object>();

	public SentenceInfo(int sentenceNumber, int[] foreingSentence,
			int[] sourceSentence, ExtractedPhrasePair[] extractedPhrases) {
		super();
		this.sentenceNumber = sentenceNumber;
		this.foreingSentence = foreingSentence;
		this.sourceSentence = sourceSentence;
		this.extractedPhrasePairTable = new ExtractedPhrasePairTable(this, extractedPhrases);
	}
	
	public Object getCustomInfo(String name){
		return customInfo.get(name);
	}
	
	public void setCustomInfo(String name, Object object){
		customInfo.put(name, object);
	}

	public int getSentenceNumber() {
		return sentenceNumber;
	}

	public void setSentenceNumber(int sentenceNumber) {
		this.sentenceNumber = sentenceNumber;
	}

	public int[] getForeingSentence() {
		return foreingSentence;
	}

	public void setForeingSentence(int[] foreingSentence) {
		this.foreingSentence = foreingSentence;
	}

	public int[] getSourceSentence() {
		return sourceSentence;
	}

	public void setSourceSentence(int[] sourceSentence) {
		this.sourceSentence = sourceSentence;
	}

	public ExtractedPhrasePair[] getExtractedPhrases() {
		return extractedPhrasePairTable.getExtractedPhrasePairs();
	}

	public ExtractedPhrasePairTable getExtractedPhrasePairTable() {
		return extractedPhrasePairTable;
	}

}
